# 元组 就是一个不可变的列表
# 作用： 按照索引/位置存放多个值，只能用于读，不能用于写

# 定义
# t = (10,) 如果元组中只有一个元素，必须加逗号
t = (1, 2, 3,)
t1 = tuple((1, 2, 'a',))
print(type(t), t)  # <class 'tuple'> (1, 2, 3)
print(type(t1), t1)  # <class 'tuple'> (1, 2, 'a')

# 类型转换
print(tuple('hello'))  # ('h', 'e', 'l', 'l', 'o')
print(tuple([1, 2, 3]))  # (1, 2, 3)
print(tuple({'a': 1, 'b': 2}))  # ('a', 'b')

# 常用方法
# 切片 与列表相同
t2 = (1, 2, 3, 4, 5)
print(t2[0:2])  # (1, 2)
print(t2[::-1])  # (5, 4, 3, 2, 1)

# index 获取元素的第一个索引值
t3 = (1, 1, 4, 5, 2, 3, 4)
print(t3.index(4))  # 2

# count 统计元素的个数
t3 = (1, 1, 4, 5, 2, 3, 4)
print(t3.count(1))  # 2
